package com.integral.biz.impl;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.integral.biz.ISignUserBiz;
import com.integral.entity.SignUser;
import com.integral.service.SignUserService;
import com.integral.vo.SignUserVo;

/**
 * @Description: BIZ实现类
 * @author zhaofan
 * @date 2018年12月23日 下午08:50:42
 */
@Service("signUserBiz")
public class SignUserBiz implements ISignUserBiz {
	
	/**
	 * 注入Service
	 */
	@Resource
	private SignUserService signUserService;
	
	/**
	 * @Description: 新增
	 * @param signUser
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年12月23日 下午08:50:42
	 */
	public SignUser addSignUser(String userOpenid) {
		
		SignUser signUser = signUserService.findByUserOpenid(userOpenid);
		if(signUser == null){
			signUser = new SignUser();
			signUser.setCreateTime(new Date());
			signUser.setUserOpenId(userOpenid);
			signUserService.addSignUser(signUser);
		}
		return signUser;
	}
	
	/**
	 * @Description: 修改
	 * @param signUser 
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年12月23日 下午08:50:42
	 */
	public int updateSignUser(SignUser signUser) {
		return signUserService.updateById(signUser);
	}
	
	/**
	 * @Description: 删除
	 * @param id 主键
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年12月23日 下午08:50:42
	 */
	public int deleteSignUser(Long id) {
		return signUserService.deleteById(id);
	}
	
	/**
	 * @Description: 根据ID查询
	 * @param id 主键
	 * @return 
	 * @author zhaofan
	 * @date 2018年12月23日 下午08:50:42
	 */
	@Override
	public SignUser findByUserOpenid(String userOpenid){
		return signUserService.findByUserOpenid(userOpenid);
	}
	
	/**
	 * @Description: 分页查询
	 * @param signUserVo 
	 * @param page 分页参数
	 * @return 
	 * @author zhaofan
	 * @date 2018年12月23日 下午08:50:42
	 */
	public List<SignUserVo> findByPagination(SignUserVo signUserVo) {
		List<SignUserVo> pagination = signUserService.findByPagination(signUserVo);
		return pagination;
	}

}